Network booting (or “network rebooting”) refers to the booting (or rebooting) of a computer over a network, using the operating system (OS) stored on the storage of a server. An initial set of software is loaded from a server over a network. The server from which to load the initial software and the OS is usually found by broadcasting or multicasting a request. This initial software contains enough data to take control of the rebooting process and to load the OS over the network.
In most current computer systems, if a user wants to command a computer to perform a network reboot, he needs to wait for the Basic Input/Output System (BIOS) initialization to start and then enter a special command (e.g., F12) during the rebooting process. The special command directs the computer to reboot from the network. The need of human interaction makes it difficult to automate the network rebooting process.